import {
  wxLogin,
  request
} from '../../utils/index'

Page({
  handleLogin(e) {
    // 获取 encryptedData 与 iv
    const {
      encryptedData,
      iv
    } = e.detail
    // 获取 code 登录凭据
    wx.login({
      success: (res) => {
        // console.log('login res', res)
        const {
          code
        } = res

        // 调用登录接口
        wx.request({
          url: 'http://127.0.0.1:8001/app/user/login/mini',
          method: 'POST',
          data: {
            code,
            encryptedData,
            iv
          },
          success: (res) => {
            // res.data 是接口返回值数据
            const {
              code,
              message,
              data
            } = res.data
            // 请求成功，还需要判断业务状态码
            if (code === 1000) {
              // 成功
              wx.showToast({
                icon: 'none',
                title: '登录成功',
              })
              console.log(res.data)
              // 存储token
              wx.setStorageSync('token', data.token)
              // 使用页面通道对象触发一个 login-success 的消息
              const eventChannel = this.getOpenerEventChannel()
              eventChannel.emit('login-success', data.token)
              // 跳转页面，使用后退
              wx.navigateBack()
            } else {
              // 失败
              wx.showToast({
                icon: 'none',
                title: message,
              })
            }
          }
        })
      },
    })
  },

  async handlePhone(e) {
    // 获取 encryptedData 与 iv
    const {
      encryptedData,
      iv
    } = e.detail

    // 获取 code
    const code = await wxLogin()

    // 调用接口
    const resp = await request('http://127.0.0.1:8001/app/user/login/mini', {
      code,
      encryptedData,
      iv
    }, 'POST')

    // 登录成功
    // 存储token
    wx.setStorageSync('token', resp.token)
    // 使用页面通道对象触发一个 login-success 的消息
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('login-success', resp.token)
    // 跳转页面，使用后退
    wx.navigateBack()
  }
})